#pragma once
#ifndef __ROUTERREQUEST_H__
#define __ROUTERREQUEST_H__

#include <msg/request.h>
#include <util/forward_table.hpp>


struct RouterRequest
{
    static request login(std::string_view password);

    static request create_forward_rule(forward_rule rule);

    static request create_output_forward_rule(create_output_forward_rule_data data);

    static request create_virtual_client(create_virtual_client_data data);

    static request delete_virtual_client(delete_virtual_client_data data);

private:
    static uint32_t gen_req_id();
};

#endif // __ROUTERREQUEST_H__